The present invention relates generally to data communication devices, and specifically to adaptive digital data transceivers.
FIG. 1 is a block diagram that schematically illustrates a generalized multi-rate filter 10, having an output sample rate that is an arbitrary rational fraction, L/M, of the input sample rate. This scheme is described by Vaidyanathan in Multirate Systems and Filter Banks (Prentice Hall, 1993), which is incorporated herein by reference, pages 100-133. An input signal x(n) is first upsampled by an integer factor L, typically using an interpolator 12. The upsampled signal is filtered by a digital filter block 14 with response H(z). A decimator 16 downsamples the filtered signal by another integer factor M. L may be either greater than or less than M. The output signal y(n) from filter 10 has a sample rate L/M times the sample rate of the input signal x(n).
The use of fractionally-spaced digital equalizers and echo cancellers is also known in the art. Such devices, which process signals at a rate that is higher than the symbol rate, have been found to give improved performance over synchronous devices. The taps of a fractionally-spaced time-domain equalizer, for example, are separated in time by less than the interval between the symbols. Typically, the tap interval is an integer dividend of the symbol interval, so that the equalizer operates at a rate that is an integer multiple of the symbol rate. A comprehensive discussion of such devices is presented, for example, by Gitlin et al., in Data Communications Principles (Plenum Press, 1992), which is incorporated herein by reference. (See particularly pages 488-499 and 528-535 regarding equalizers, and pages 607-661 regarding echo cancellation.)
It is an object of some aspects of the present invention to provide improved devices and methods for multi-rate signal processing.
In preferred embodiments of the present invention, a digital data transceiver comprises a transmitter and a receiver, which respectively transmit an output signal and receive an input signal, representing sequences of data symbols with a predetermined symbol rate. The input signal is sampled by an analog front end of the receiver at a processing rate that is a non-integer rational multiple of the predetermined symbol rate, preferably a non-integer multiple less than two. An echo canceller generates, responsive to symbols transmitted by the transmitter, an echo estimation signal at the processing rate, for subtraction from the sampled input signal. Following echo cancellation, a feed-forward equalizer receives the signal at the processing rate and generates a forward-equalized signal, while at the same time downsampling the signal back to the original symbol rate. The forward-equalized symbols are processed by decision circuitry, preferably including a slicer and decision feedback equalizer, as is known in the art, to output a stream of estimated data symbols.
By comparison with multi-rate transceivers known in the art, the architecture of the present transceiver is unique in that both the echo canceller and the feed-forward equalizer operate at the same, non-integer multiple rate. The transceiver thus achieves the performance benefit of fractionally-spaced processing, with a reduced number of computations per symbol interval relative to that required for implementation of double-rate processing, as is commonly used in transceivers known in the art.
In some preferred embodiments of the present invention, the echo canceller and equalizer comprise multi-phase (or multi-section) filters, with a plurality of taps. For each of the taps, the filter stores a number of groups of filter coefficients, such that each group contains one filter coefficient for each of the plurality of taps. The samples in the taps are multiplied by the filter coefficients in each of the groups in turn so as to generate tap outputs, which are summed to give a partial sum for that group. The filter coefficients in each group are computed so as to combine the desired filtering effect (such as echo cancellation or equalization) with interpolation between the samples. Therefore, multiplying the samples by the coefficients in the different groups with the appropriate timing effectively upsamples the filter input by a factor equal to the number of groups.
A switch selects among the partial sums for the different groups at a downsampling rate that is an integer dividend of the product of the input sample rate times the number of groups. In other words, the multiple groups of filter coefficients effectively upsample the input by a first integer factor equal to the number of groups, and the switch then decimates the partial sums by a second integer factor. The output sample rate of the filter is thus a rational, non-integer multiple of the input sample rate given by the quotient of the first and second integer factors. Substantially any choice of integer factors may be used, although practically 3:2 has been found to give advantageous results with minimal hardware complication. Those skilled in the art will appreciate that multi-rate filters of this type are useful not only in the context of the transceiver described hereinabove, but also in other digital filtering applications.
Preferably, the echo canceller and equalizer comprise adaptive filters, which receive respective error signals responsive to the filter outputs. The multiple groups of coefficients are automatically adjusted responsive to the respective error signals. Preferably, a least-mean-square (LMS) algorithm is used to determine optimal coefficients in all of the groups and then to adjust the coefficients as necessary during operation of the transceiver. Most preferably, in an initial phase of operation of the filter, different starting conditions are applied to the different groups in order to ensure that the coefficients in the different groups have different values, reflecting their role in interpolating between the samples, and thus preventing their erroneously converging to the same values. In a preferred embodiment, the starting conditions are imposed on the equalizer by transmitting a known training sequence of symbols to the receiver.
There is therefore provided, in accordance with a preferred embodiment of the present invention, a digital data receiver, including:
a front end, coupled to receive an input signal transmitted over a communication channel, the signal representing a stream of transmitted symbols with a given input symbol rate, and to generate, responsive to the input signal, a stream of received samples at a processing rate that is a non-integer rational multiple of the input symbol rate;
a feed-forward equalizer, coupled to receive input samples at the processing rate, responsive to the received samples, and to generate forward-equalized samples at the input symbol rate, the feed-forward equalizer including:
a first plurality of taps, arranged in series to receive a succession of the input samples at the processing rate;
a second plurality of registers operative to store filter coefficients in a number of groups, such that each group contains one filter coefficient for each of the first plurality of taps;
a third plurality of multipliers, coupled to multiply the samples in the taps by the corresponding filter coefficients so as to generate respective tap outputs for each one of the groups;
one or more summers, coupled to sum the tap outputs for each one of the groups, thus generating respective group equalized partial sums; and
at least one switch, operative to select among the groups at the input symbol rate, so that the equalized partial sums are output in alternation as the forward-equalized samples; and
decision circuitry, coupled to process the forward-equalized samples so as to generate a stream of estimated symbols at the input symbol rate.
In a preferred embodiment, the input signal includes a Digital Subscriber Line (DSL) signal, and the processing rate is substantially equal to 1.5 times the input symbol rate.
Preferably, the feed-forward equalizer includes an adaptive filter, and wherein the filter coefficients are adjusted automatically responsive to an error signal based on the stream of estimated symbols. In a preferred embodiment, the receiver includes a training switch, coupled to substitute a sequence of known training symbols for the estimated symbols during an initial adjustment of the filter coefficients of the equalizer.
Preferably, the receiver is coupled to a transmitter, which is adapted to transmit an output signal over the channel based on a stream of output symbols, and includes:
an echo canceller, coupled to generate, responsive to the output symbols, echo cancellation values at the processing rate; and
an adder, coupled to sum the received samples with the echo cancellation values, thus generating the input samples to the feed-forward equalizer at the processing rate.
There is also provided, in accordance with a preferred embodiment of the present invention, a digital data transceiver, including:
a transmitter, which is adapted to transmit an output signal over a communication channel based on a stream of output symbols at an output symbol rate;
an echo canceller, coupled to generate, responsive to the output symbols, echo cancellation values at a predetermined processing rate; and
a receiver, which includes:
a front end, coupled to receive an input signal over the communication channel, the signal representing a stream of transmitted symbols with a given input symbol rate, and to generate, responsive thereto, a stream of input samples at the processing rate;
an adder, coupled to sum the input samples with the echo cancellation values, thus generating echo-canceled samples at the processing rate;
an equalizer, coupled to filter the echo-canceled samples so as to generate equalized samples at the input symbol rate; and
decision circuitry, coupled to process the equalized samples so as to generate a stream of estimated symbols at the input symbol rate,
wherein the processing rate is a non-integer rational multiple of at least one of the input symbol rate and the output symbol rate.
Preferably, the output symbol rate is substantially equal to the input symbol rate. Alternatively or additionally, the output symbol rate is different from the input symbol rate.
There is also provided, in accordance with a preferred embodiment of the present invention, a method for processing an input signal received over a communication channel, in the presence of an echo signal based on a stream of output symbols provided at an output symbol rate, the input signal representing a stream of transmitted symbols with a given input symbol rate, the method including:
determining echo cancellation values at a predetermined processing rate, responsive to the stream of output symbols;
sampling the input signal to generate a stream of received samples at the processing rate;
summing the received samples with the echo cancellation values, thus generating echo-canceled samples at the processing rate;
equalizing the echo-canceled samples so as to generate a stream of forward-equalized samples at the input symbol rate; and
applying a decision process to the forward-equalized samples so as to generate a stream of estimated symbols at the input symbol rate,
wherein the processing rate is a non-integer rational multiple of at least one of the input symbol rate and the output symbol rate.
Preferably, processing the received samples includes equalizing the received samples adaptively, using filter coefficients that are adjusted automatically responsive to an error signal derived from the estimated symbols. In a preferred embodiment, equalizing the received samples adaptively includes:
providing at least first and second groups of filter coefficients for use in equalizing the received samples;
initially determining values of the filter coefficients in the first group; and
subsequently determining values of the filter coefficients in the second group responsive to the values determined in the first group.
There is further provided, in accordance with a preferred embodiment of the present invention, an adaptive digital filter for processing an input signal having an input sample rate, including:
a first plurality of taps, arranged in series to receive a succession of samples of the input signal at the input sample rate;
a second plurality of registers operative to store a number of groups of filter coefficients, which are automatically adjustable during operation of the filter, such that each group contains one filter coefficient for each of the plurality of taps;
a third plurality of multipliers, coupled to multiply the samples in the taps by the corresponding filter coefficients so as to generate respective tap outputs for each one of the groups;
one or more summers, coupled to sum the tap outputs for each one of the groups, thus generating respective group partial sums; and
at least one switch, operative to select among the groups at a selection rate that is substantially equal to the product of the input sample rate times the number of groups divided by a selected integer, so as to generate an output signal including a sequence of the partial sums having an output sample rate that is a non-integer rational fraction of the input sample rate; and
an error signal input line, coupled to provide to the filter an error signal derived from the output signal for use in automatic adjustment of the filter coefficients.
Preferably, the one or more summers include a respective summer for each of the groups, and the at least one switch is operative to select among the respective group partial sums.
Alternatively or additionally, the third plurality of multipliers includes a number of multipliers for each of the taps that is equal to the number of groups, such that one of the multipliers is assigned respectively to generate each of the tap outputs, wherein the multipliers operate at a rate that is substantially equal to the input sample rate divided by the selected integer.
Alternatively, the one or more summers include a single summer, wherein the at least one switch includes a respective switch for each of the first plurality of taps, which switch is coupled to select the filter coefficient by which to multiply the sample in the tap.
In a preferred embodiment, the number of groups is chosen to be one of the values two and three, and the selected integer is equal to the other of the values.
Preferably, each filter coefficient is automatically adjusted at an adjustment rate that is substantially equal to the input sample rate divided by the selected integer.
Further preferably, the filter coefficients are automatically adjusted using a least-mean-square method.
In a preferred embodiment, the filter includes an echo cancellation filter, and the output signal includes echo estimation values, and the error signal provides an estimate of a residual echo remaining following subtraction of the echo estimation values from a received signal.
In another preferred embodiment, the filter includes a feed-forward equalizer, and the output signal includes equalized signal values, and wherein the error signal is responsive to a difference between the equalized signal values and estimated symbols derived from the equalized signal values.
There is moreover provided, in accordance with a preferred embodiment of the present invention, a method for adaptive digital filtering of an input signal having an input sample rate, including:
receiving a plurality of successive samples of the input signal at the input sample rate;
automatically computing a number of groups of filter coefficients responsive to an error signal, each group containing one filter coefficient for each of the plurality of samples;
multiplying the samples by the corresponding filter coefficients so as to generate for each of the samples respective sample outputs for all of the groups;
summing the sample outputs belonging to each one of the groups, thus generating respective group partial sums for all of the groups;
selecting among the groups at a selection rate that is substantially equal to the product of the input sample rate times the number of groups divided by a selected integer, so as to generate an output signal including a sequence of the partial sums having an output sample rate that is a non-integer rational fraction of the input sample rate; and
deriving the error signal from the output signal.